

#include "pwm.h"

/*
函数功能：初始化TimA2通道 1 2 3 4的pwm模式
输入：
uint8_t DIV：分频系数，可选0-64
uint16_t  per：计数周期，可选0-65535
输出：无
备注：频率计算：
    frequency=时钟频率/(Div*per)
*/
void    TimA2_pwm_init(uint8_t DIV,uint16_t  per )
{
    //引脚复用
//    GPIO_setAsPeripheralModuleFunctionOutputPin(GPIO_PORT_P6 ,GPIO_PIN6 |GPIO_PIN7,GPIO_PRIMARY_MODULE_FUNCTION );
    GPIO_setAsPeripheralModuleFunctionOutputPin(GPIO_PORT_P5 ,GPIO_PIN6 |GPIO_PIN7,GPIO_PRIMARY_MODULE_FUNCTION );
    //初始化结构体
    Timer_A_PWMConfig   PWM_confing_stature;
    PWM_confing_stature.clockSource=TIMER_A_CLOCKSOURCE_SMCLK;//时钟源选择48M
    PWM_confing_stature.clockSourceDivider=DIV;      //时钟分频
    PWM_confing_stature.compareOutputMode=TIMER_A_OUTPUTMODE_TOGGLE_SET;//输出模式
    PWM_confing_stature.dutyCycle=0;//占空比计数
    PWM_confing_stature.timerPeriod=per-1;//CCR
    /*通道1*/
    PWM_confing_stature.compareRegister=TIMER_A_CAPTURECOMPARE_REGISTER_1;//选择通道
    Timer_A_generatePWM(TIMER_A2_BASE ,&PWM_confing_stature);//初始化定时器
    /*通道2*/
    PWM_confing_stature.compareRegister=TIMER_A_CAPTURECOMPARE_REGISTER_2;//选择通道
    Timer_A_generatePWM(TIMER_A2_BASE ,&PWM_confing_stature);//初始化定时器
    /*通道3*/
//    PWM_confing_stature.compareRegister=TIMER_A_CAPTURECOMPARE_REGISTER_3;//选择通道
//    Timer_A_generatePWM(TIMER_A2_BASE ,&PWM_confing_stature);//初始化定时器
//    /*通道4*/   
//    PWM_confing_stature.compareRegister=TIMER_A_CAPTURECOMPARE_REGISTER_4;//选择通道
//    Timer_A_generatePWM(TIMER_A2_BASE ,&PWM_confing_stature);//初始化定时器

}

